package com.voxel.sense.infomsg.module.trace.map;

import com.amap.api.maps.model.LatLng;
import com.amap.api.maps.model.MarkerOptions;
import com.example.com.common.app.BaseContract;
import com.voxel.sense.infomsg.data.bean.ClockInMarkerBean;

import java.util.List;

/**
 * Created by ChenYiYao on 2018/5/21.
 * 查看用户打卡点的契约类
 */
public interface CheckinsRecordContract {
    interface View extends BaseContract.View<Presenter> {

        /**
         * 添加marker标记
         *
         * @param data
         */
        void onAddMarker(List<MarkerOptions> data);

        /**
         * 将marker点连线
         */
        void onDrawLine(List<LatLng> datas);

        /**
         * 清除地图
         */
        void onCleanMap();

        /**
         * 更新日期数据
         *
         * @param list
         */
        void onUpDateList(List<String> list);

        /**
         * 更新多层级联动时间列表
         *
         * @param years
         * @param months
         * @param days
         * @param originalData
         */
        void onUpDateList(List years, List months, List days, List<String> originalData);

        /**
         * 拉起日期列表视图
         */
        void onShowDateList();


    }

    interface Presenter extends BaseContract.Presenter {
        //加载打卡的点
        void doLaodData(String date);

        void doLoadDateList(String userId, String name, boolean isShowWinow);

        /**
         * 处理传递过来的打卡数据
         *
         * @param beans
         */
        void doHandlerClockBean(List<ClockInMarkerBean> beans);

    }
}
